Powered Surgical System

ABSTRACT

A system for treating tissue includes a device including a first member and a second member arranged to move relative to the first member to treat tissue. The system also includes a processor configured to automatically control movement of the second member relative to the first member using position control methodology. A method of treating tissue includes providing a device having a first member and a second member arranged to move relative to the first member, moving the second member relative to the first member, and automatically controlling the movement of the second member using position control methodology.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims the benefit of U.S. Provisional Application No.60/912,067, filed on Apr. 16, 2007, which is incorporated herein byreference in its entirety.

TECHNICAL FIELD

This invention relates to a powered surgical system.

BACKGROUND

Powered surgical systems typically include a console and associatedsurgical instruments. The console powers and controls the instruments.The instruments typically include motorized instruments used in surgicalprocedures such as functional endoscopic sinus surgery, arthroscopyprocedures, and the resection of soft and osseous tissues.

SUMMARY

In one general implementation, a system for treating tissue includes adevice that includes a first member and a second member arranged to moverelative to the first member to treat tissue. The system also includes aprocessor configured to automatically control movement of the secondmember relative to the first member using position control methodology.

Implementations can include one or more of the following features. Forexample, the processor controls movement of the second member relativeto the first member such that there is a hold period at least at someoccurrences of the aperture being in fluid communication with the tissueenvironment. The processor computes acceleration and deceleration neededto move the second member between points of a position profile. Eachpoint of the position profile corresponds to a position where theaperture of the device is in fluid communication with the tissueenvironment. The second member rotates relative to the first member orreciprocates axially relative to the first member. The position controlmethodology uses a stop position of the second member to computeacceleration or deceleration needed to move between points of a positionprofile. The position control methodology uses a point of shaft reversalof the second member to compute acceleration or deceleration needed tomove between points of a position profile. The first and second memberscooperatively define an aperture in the device which depending upon theposition of the second member relative to the first member is in fluidcommunication or is out of fluid communication with a tissueenvironment.

In another general aspect, a method of treating tissue includesproviding a device having a first member and a second member arranged tomove relative to the first member, moving the second member relative tothe first member, and automatically controlling the movement of thesecond member using position control methodology.

Implementations can include one or more of the following features. Forexample, moving the second member relative to the first memberalternately places an aspiration opening of the device into fluidcommunication with or out of fluid communication with a tissueenvironment. The second member is automatically controlled such thatthere is a hold period at least at some occurrences of the aspirationopening being in fluid communication with the tissue environment.Automatically controlling the movement of the second member includescomputing acceleration and deceleration needed to move the second memberbetween points of a position profile. Each point of the position profilecorresponds to a position where the aspiration opening of the device isin fluid communication with the tissue environment. Moving the secondmember relative to the first member includes rotating the second memberrelative to the first member. Automatically controlling the movement ofthe second member includes accelerating and decelerating the secondmember to cause two rotations of the second member relative to the firstmember, and then reversing the direction of rotation of the secondmember. The second member is automatically controlled such that thesecond member is slowed down or stopped when the aspiration opening isin fluid communication with the tissue environment. Moving the secondmember relative to the first member includes reciprocating the secondmember axially relative to the first member. Automatically controllingthe movement of the second member using position control methodologyincludes using a stop position or point of shaft reversal of the secondmember to compute acceleration or deceleration needed to move betweenpoints of a position profile.

In another general implementation, a powered surgical system includes amain control unit including a display, a footswitch connection port, andan instrument port for operation of a surgical instrument device, apower supply housed within the main control unit, and a processor housedwithin the main control unit and enabling multiple, user-selectableoscillation profiles. The user-selectable oscillation profiles include avelocity controlled mode in which motor speed of a surgical instrumentis ramped from zero to a target speed, then back to zero, in a period oftime, at which time the direction is reversed, and a position controlledmode in which the motor speed accelerates and decelerates to cause anumber of revolutions of the surgical instrument, at which position thedirection is reversed.

Implementations can include one or more of the following features. Forexample, motor speed accelerates and decelerates to cause tworevolutions of the surgical instrument, at which position the directionis reversed. The main control unit includes two instrument ports and twofootswitch connections ports for simultaneous operation of twoinstruments. The system can include two instruments connected to the twoinstrument ports and two footswitches connected to the footswitchconnection ports. The two instruments and the footswitches areconfigurable to communicate configuration, sensory and control data tothe main control unit via wired or wireless links. A user interface isconfigured to receive user-selectable data for controlling operation ofthe surgical instrument and to display operational parameters associatedwith the surgical instrument. The wired link includes a bi-directionalRS-485 connection or other wired connection. The wireless link includesa Bluetooth connection or other wireless protocol. The system furtherincludes an electro-surgical power generator for providing power to oneor more surgical handpieces connectable to the generator.

In another general implementation, a surgical assembly includes acontrol unit, intelligent peripherals capable of communicatingconfiguration, sensory, and control data to the control unit via wiredor wireless links, and a processor housed within the control unit. Theprocessor is configured to enable multiple, user-selectable oscillationprofiles including a position controlled mode in which the processorcalculates the acceleration or deceleration to move between points of aposition profile.

Implementations can include one or more of the following features. Forexample, an intelligent peripheral includes a motor drive unitconfigured to communicate position profile data optimized for thegeometry of a surgical blade attached thereto. The control unit includestwo instrument ports and two footswitch connection ports forsimultaneous operation of two surgical instruments.

In another general implementation, a method for controlling movement ofa motor shaft based on an algorithm that includes a position profiledefining multiple positions of the motor shaft over a period of timeincludes providing a device having a first member and a second member,the second member coupled to the motor shaft and arranged to moverelative to the first member, and moving the motor shaft, which, inturn, moves the second member relative to the first member, between themultiple positions of the position profile within the period of time.

Implementations can include one or more of the following features. Forexample, the method includes determining the acceleration ordeceleration to move the motor shaft between the positions of theposition profile. When the second member is moved to each of themultiple positions of the position profile, an aspiration openingcooperatively defined by the first and second members is in fluidcommunication with a tissue environment. Moving the motor shaft includescontrolling electrical power to the motor shaft based on a target shaftposition and an actual shaft position. Controlling electrical powerincludes inputting the target shaft position and the actual shaftposition to a discrete-time proportional-integral-derivative (PID)controller. The method can be performed such that there is a hold periodat least at some of the positions of the position profile.

In another general implementation, a surgical system includes a console,a universal drive housed within the console and configured for one ormore phase motor control, and a processor housed within the console andenabling multiple, user-selectable oscillation profiles including: avelocity controlled mode in which motor speed of a device is ramped fromzero to a target speed, then back to zero, in a period of time, at whichtime the direction in reversed; and a position controlled mode in whichthe motor speed accelerates and decelerates to cause a number ofrevolutions of the device, at which position the direction is reversed.

DESCRIPTION OF THE DRAWINGS

FIG. 1 is an illustration of a surgical system.

FIG. 2A is a schematic illustration of a console of the system of FIG.1.

FIG. 2B is a front perspective view of the console of FIG. 2A.

FIG. 2C is a front view of the console of FIG. 2A.

FIG. 2D is a rear view of the console of FIG. 2A.

FIG. 3 is a side perspective view of a surgical instrument.

FIG. 3A is an illustration of perspective views of powered instruments.

FIG. 4A is a perspective view of a footswitch of the system of FIG. 1.

FIG. 4B is a schematic view of an alternative footswitch.

FIG. 5 is an illustration of a control screen of the console of FIG. 2A.

FIG. 6 is an illustration of an architecture of an application of theconsole of FIG. 2A.

FIG. 7 is an illustration of a graphic included in a control screen ofthe console of FIG. 2A.

FIG. 8 is an illustration of a settings screen of the console of FIG.2A.

FIGS. 9A-9C are illustrations of settings screens of the console of FIG.2A.

FIG. 10 is example process 1000 for moving a blade of an instrument.

FIGS. 11A-11E illustrate position profiles for a blade of an instrument.

FIG. 12A illustrates a velocity control technique for controllingelectrical power to a motor.

FIG. 12B illustrates a position control technique for controllingelectrical power to a motor.

FIG. 13 illustrates a settings screen of the console of FIG. 2A.

FIG. 14 illustrates a settings screen of the console of FIG. 2A.

DETAILED DESCRIPTION

Referring to FIG. 1, a surgical system 100 includes a console 110, oneor more instruments 132, 134 driven by the console 110, a fluidmanagement system, such as pump 150 that provides pressure duringsurgical procedures, an electro-surgical generator 160 that powershandpieces used in, for example, temperature control, cutting, andablation applications, and an instrument rack 170.

The console 110 includes two instrument ports 112 and 114, to whichinstruments 132 and 134 are respectively connected. The instruments 132and 134 can include motor drive units and powered arthroscopicinstruments, such as drills, wire/pin drivers, and sagittal saws. Theseinstruments are used in, the resection of soft and osseous tissues inlarge and small articular cavities, for example. The instruments alsocan be used in Functional Endoscopic Sinus Surgery (FESS). The console110 allows for simultaneous use and control of the instruments 132, 134.The instruments 132 and 134 can include two motor drive units, twopowered instruments, or a combination of a motor drive unit and poweredinstrument. The instrument port 112 and the instrument port 114 are alsorespectively referred to as “Port A” and “Port B.”

As described in more detail below, the console 110 permits a user tomanage the movement of one or more instruments connected to the console110 via a user-programmable oscillation mode algorithm. The console 110supports two oscillation modes: (1) a velocity-controlled mode in whichmotor speed is ramped from zero to a specified target speed and thenramped from the target speed to zero again in a specified time; and (2)a position-controlled mode in which the motor accelerates anddecelerates to specified positions in specified periods of time toenable reversal of direction to return to a starting position. Theposition control methodology provides enhanced system precision andflexibility because rather than using shaft position to signal (trigger)a control algorithm when to stop or reverse direction (e.g., a velocitycontrol algorithm), shaft position is the input to a position controlalgorithm. Thus, the stop position or point of shaft reversal is knownin advance by the control algorithm as it computes the acceleration ordeceleration to move between the points of the position profile.

The console 110 also includes a footswitch connection port 116 to whicha footswitch 140 is connected. The footswitch 140 is configured to driveeither of the instruments 132 and 134. In further implementations, theconsole 110 can include an additional footswitch connection port 116 ato which an additional footswitch 140 a is connected. The footswitch 140a can be configured to drive either of the other of the instruments 132and 134. As discussed in greater detail with respect to FIGS. 5, 8, 9,and 13, the console 110 also displays user prompts and system diagnostictext on a liquid crystal display (LCD) 120. The console 110 alsoincludes a port 117 through which the console 110 is connected to apower source, such as a wall receptacle at 120 volts AC, 15 A, and 50-60Hz, or other voltages.

As discussed in more detail below, the console 110 provides support forintelligent peripherals, such as the instruments 132 and 134 and thefootswitch 140. The instruments 132 and 134 and the footswitch 140communicate configuration, sensory, and control data to the console 110via the ports 112, 114, and 116, respectively. The instruments 132 and134 can be connected to the ports 112 and 114 via iwired links. Thefootswitch 140 can be connected to the port 116 via wired or wirelesslinks. The ports 112, 114, and 116 can be bi-directional RS-485connections. The port 116 can also be a Bluetooth or other wirelessprotocol connection. All of the ports 112, 114, and 116 can be the sametype of port (e.g., all RS-485), or the ports 112, 114, and 116 can bedifferent types of ports (e.g., the 112 and 114 ports can both be RS-485ports and the port 116 can be a Bluetooth or other wireless protocolport). The peripherals can be “plug-in-play”such that they cancommunicate certain data, such as position profile data to the console110 once they are connected to one of the ports 112, 114.

The pump 150 is connected to the console 110 through a bi-directionalport 152 on the console 110. The pump 150 optionally includes a remotecontrol 156, which can be used to control operation of the pump 150(e.g., select pressure settings) during surgical applications. Anexemplary pump 150 for use in the system 100 is a DYONICS 25 FluidManagement System Control Unit, available from Smith & Nephew, Inc. Thepump 150 is connected to the instrument rack 170, an example of which isa Procedure Cart with Transformer available from Smith & Nephew, Inc.

The electro-surgical generator 160 is also coupled to the instrumentrack 170 and to a handpiece 162. The handpiece 162 is, for example, asingle-use or multi-use probe for temperature control, cutting, orablation that emits radio-frequency radiation generated by theelectro-surgical generator 160. The handpiece 162 includes integratedcables (not shown) and uses autoprobe recognition to determine the typeof probe connected to the handpiece 162. The electro-surgical generator160 is also connected to an instrument controller 164, an example ofwhich is a footswitch used to control the amount of radiation emittedfrom the handpiece 162.

Referring to FIG. 2A, the console 110 includes a display 120, instrumentports 112 and 114, a connector board 122, a motor controller board 123,a system controller board 124, network interfaces 126, and serial ports128. The console 110 is a software-configurable universal-drive platformthat allows simultaneous operation of the motors of two to four or moreinstruments connected to the console 110. The motors can be, forexample, one-third horsepower and one- to four or higher-phase DCmotors. The display 120 is a touch screen liquid crystal display thatdisplays an interface and controls used to set up and operate theconsole 110. As discussed in more detail with respect to FIGS. 5, 8, 9,and 13, the interface and controls allow adjustment of settings in theconsole 110, such as adjustment of an operating speed of an instrumentattached to the console 110 and selection of oscillation modes for theinstruments 132 and 134. The display 120 also displays system controls,system information, and procedure information. The instrument ports 112,114, and 116 are configured to receive peripheral devices, such as theinstruments 132 and 134, and the footswitch 140. The instrument ports112, 114, and 116 are configured for analog and digital inputs and caninclude an RS-485 or other wired interface. Instrument port 116 canalternatively include a Bluetooth interface or other wireless interface.

The connector board 122 includes interfaces configured to receivecircuit boards, such as the motor controller board 123 and the systemcontroller board 124. The motor controller board 123 is a generic slavedual motor controller within a distributed platform, but can includeother controllers, such as electro-surgical controllers or other typesof motor controller boards. The motor controller board 123 includes aprocessor, memory, software, and motor drive circuitry. The motorcontroller board 123 buffers external inputs for use by applicationsoftware running on the system controller board 124. The applicationsoftware sends commands to the motor controller board 123 to control thefunctionality of motors in instruments connected to the console 110,such as a motor in each of the instruments 132 and 134. Multiplecontroller boards 123 could be employed, along with multiple instrumentports on the console 110 to accommodate, for example, up to four or moreindependently controlled instruments, such as instruments 132 and 134.

The system controller board 124, in conjunction with the motorcontroller board 123, controls the motors in the instruments 132, 134connected to the console 110, by communicating control and parametricdata bi-directionally with the motor controller board 123. The systemcontroller board 124 includes a processor, an operating system, andapplication software. As discussed in more detail below, a controllingapplication on the system controller board 124 in conjunction with thedisplay 120 provide graphical status indicators and touch screen controlover the motor operation. The system controller board 124 also providesstatus signals to the pump 150 in implementations in which the pump 150is connected to the console 110. The system controller board 124 alsoprovides status signals to digital control systems, such as Smith &Nephew Inc.'s CONDOR™ control system and can receive control signalsfrom such digital control systems. These digital control systems enableusers to send commands to, for example, instruments 132, 134, and othermedical devices, digital cameras, image management systems and othercomponents using voice commands and a wireless touch panel. The systemsalso enable real-time streaming audio and video of the procedure overthe Internet to classrooms, offices and consulting surgeons in otherlocations.

Referring to FIGS. 2B and 2C, the console 110 is enclosed in a housing180. A front panel 185 of the housing 180 includes the display 120, theinstrument ports 112 and 114, the footswitch connection port 116, and apower switch 119. The power switch 119 initiates procedures to power theconsole 110 (e.g., turn the console 110 on) and to remove power from theconsole 110 (e.g., turn the console 110 off). As shown in FIG. 2D, thehousing 180 includes a rear panel 187. The rear panel 187 includes thebi-directional port 152, serial ports 135, a second bi-directional port136, a third bi-directional port 137, a case ground 138, a networkinterface 139, field programmable ports 141, exhaust fans 142, and thepower connector 117. The bidirectional port 152 connects the console 110to a fluid management system, such as the pump 150 discussed above withrespect to FIG. 1. The second bi-directional port 136 connects theconsole 110 to a digital operating room control center. The case ground138 is connected to equipment within or external to the console 110 tobring the equipment to the same electrical ground as the housing 180.The exhaust fans 142 provide cooling for the console 110, and the powerconnector 117 allows the console 110 to be connected to a hospital-gradepower cord accessory (not shown). The power connector 117 is an integralpart of the console 110 and is configured as a receptacle thataccommodates the power cord accessory.

FIG. 3 illustrates an exemplary surgical device 300 used in conjunctionwith the console 110. Surgical device 300 uses a tube-in-tubeconstruction to shear tissue disposed between cutting edges of anelongate outer non-rotating tubular member 310 and an elongate innerrotating tubular member 315, as more fully explained in, for example,U.S. Pat. No. 5,871,493, which is incorporated herein by reference inits entirety. The surgical device 300 includes a MDU 325 coupled to themembers 310, 315 at an interface 305. The outer tubular member 310 has aproximal end 310 a coupled to the interface 305 and a distal end 310 bdefining an opening 320 forming a cutting port or window. The innertubular member 315 is rotatably received in the outer tubular member 310and has a cutting edge (not shown) at its distal end. The inner tubularmember 315 defines an aspiration lumen (not shown) communicating withthe cutting edge to remove cut tissue and fluid from a surgical site.When the surgical device 300 is assembled, the cutting edge of the innertubular member 315 is positioned adjacent the opening 320 of the outertubular member 310 and aligns with the opening 320 such that duringcertain portions of the rotation of the inner member 315 with respect tothe outer member 310 the opening 320 and the aspiration lumen are eitherin fluid communication or is out of fluid communication with a tissueenvironment.

The surgical device 300 is connected to either the instrument port 112(port A) or the instrument port 114 (port B) on the front panel 185 ofthe console 110. Once connected to either port 112, 114, the console 110automatically detects the presence of the surgical device 300. A varietyof disposable straight and curved surgical blades and burrs 330 can beinserted into the surgical device 300 at the interface 305 for varioussurgical applications. Action of the inner member 315 is controlled byeither the instrument or a footswitch, selecting forward, reverse oroscillate. As will be described in more detail below, the console 110provides user-selectable settings for blade speed within minimum andmaximum speeds, with the minimum and maximum speeds preprogrammed foreach blade type.

Referring to FIG. 3A, powered instruments, such as drill 330 and saw 340can also be used in conjunction with the console 110. The poweredinstruments 330 and 340 include triggers 335, 345, respectively, used tocontrol operation of the powered instruments 330, 340. The poweredinstruments 330 and 340 can be connected to the instrument ports 112,114 on the front panel 185 of the console via cables 337, 347,respectively. As discussed above, once connected to the instrument ports112, 114, the console 110 can automatically detect the presence of thepowered instruments 330, 340.

Referring to FIGS. 4A and 4B, footswitches 410 and 450 are shown. Eitherof the footswitches 410 and 450 can be used as the footswitches 140 and140 a. The footswitches 410 and 450 are connected to the port 116 of theconsole 110 through wired or wireless links. Wired communications takeplace via a RS-485 serial communication port or other wired links orconnections, and wireless communications take place via a Bluetooth linkand protocol or other wireless links or protocols. The footswitches 410,450 communicate information about themselves and the position of theirpedals to the console 110. The footswitches 410, 450 control forward,reverse, oscillate, and window lock modes of motor operation. Thefootswitches 410, 450 control one instrument at a time, and they can beconfigured to control either the instrument connected to the port 112 orthe instrument connected to the port 114. As described in more detailbelow, the operation of the footswitches 410, 450 can be modifiedthrough an interface displayed on the screen 120 of the console 110. Twomodes of operation are available, On/Off and Variable.

Referring to FIG. 4A, the footswitch 410 has three control pedals 412,414, 416 and two switches 422 and 424. The pedal 412 is considered the“left pedal,” the pedal 416 is considered the “right pedal,” and thepedal 414 is considered the center pedal. The pedal 412 and the pedal416 default to reverse and forward, respectively. Thus, depressing thepedal 412 or the pedal 416 causes the console 110 to supply power to aninstrument connected to the console 110 (such as the surgical device300) such that the inner member 315 of the blade 300 is driven in theselected direction. While the pedal 412 and the pedal 416 default toreverse and forward, respectively, the pedals 412, 416 can be configuredto operate the surgical device 300 in the opposite direction. The centerpedal 414 is configured to cause the surgical device 300 to oscillate.That is, depression of the center pedal 414 causes the console 110 tosend position profile control signals to the surgical instrument 325,thus causing the inner member 315 to oscillate. The console 110continues to send the control signals to the surgical instrument 325until pedal 414 is no longer depressed.

When the footswitch is operating in variable or analog mode, the amountof depression of the pedal 412, 414, and 416 determine the percentage ofset speed the instrument operates at; 100% of set speed is when thepedal is fully depressed and 0% of set speed (stop) is when the pedal isfully released. When the footswitch is operated in On/Off or digitalmode, the pedals 412, 414, and 416 operate the instrument either at 100%of set speed or 0% of set speed (stop). In another implementation,maximum pressure establishes 100% of set speed with each new press ofthe pedals 412, 414, and 416, and decreasing pressure on the pedals 412,414, and 416 allows deceleration of the instrument until the instrumentstops. Pressing a footswitch pedal signals the console 110 to acceleratethe instrument until the instrument reaches the set speed, and the setspeed is maintained until the button is released. The pedals 412, 414,416 on the footswitch 410 turn the motor drive on or off in a specificdirection. Thus, the footswitch 410 allows the pedals 412, 414, and 416to control speed as well as blade direction.

The footswitch 410 also includes two switches 422, 424. The switches 422and 424 provide control for a Blade Window Lock function, described inmore detail below, and a Lavage function, respectively, through a signalthat travels from the footswitch 410 to the pump 150 through thebidirectional port 152.

Referring to FIG. 4B, the footswitch 450 includes two foot pedals 455and 460 to control motor action. Each of the pedals 455 and 460 isreferred to as the forward pedal or the reverse pedal depending uponconfiguration. The footswitch 450 includes contact switches (not shown)coupled to each pedal. The contact switches operate in the On/Off mode,such that each press of the pedal 455 or the pedal 460 starts or stopsthe instrument. Pressing the pedals 455, 460 simultaneously causes theconsole 110 to send signals to the instrument such that the instrumentoscillates.

Referring to FIG. 5, an interface 500 shown on the display 120 of theconsole 110 provides a control screen 501 including graphical statusindicators and touch screen control over the operation of motorsassociated with instruments connected to the console 110. The controlscreen 501 includes indicator and control sections 503 and 505, whichare respectively associated with the instrument port 112 (also referredto as “Port A”) and instrument port 114 (also referred to as “Port B”).The section 503 is on the left hand side of the control screen 501 andthe section 505 is on the right hand side of the control screen 501.

As discussed above with respect to FIG. 2A, the system controller board124 communicates control and parametric data bi-directionally with themotor controller board 123. Using a set of system interfaces, acontrolling application provides the graphical status indicators and thetouch screen control, thus allowing a user of the console 110 to havecontrol over the instruments connected to the console 110 through thecontrol screen 501 of FIG. 5. The system interfaces are hardwareinitialization and access functions to resources of the systemcontroller board 124 that are used by the controlling application. Thesystem interfaces include a bootstrap for Windows CE 4.2, peripheralWindows CE device drivers, a Windows CE USB driver, and a specializedWindows CE device driver, or other applicable system interfaces.

FIG. 6 illustrates an architecture 600 of the controlling applicationused with the system controller board 124. The architecture 600 includesthree modules, a graphical user interface module 610, a control module620, a string resource module 630, and a system interface 640. Thegraphical user interface module 610 generates the graphical userinterface (such as the control screen 501) and the displayed icons,accessories, and accessories controls. The control module 620 notifiesthe graphical user interface module of a change in state (such as theconnection or removal of an instrument from the instrument port 112 orthe instrument port 114). The string resource module 630 is adynamically linked library (DLL) that supplies the graphical userinterface module 610 correct strings depending on the selected languageused to present commands in the control display 501. Each language thatis supported by the console 110 has an associated DLL that is loadedwhen the console 110 is powered on or when the language setting ischanged within the control display 501. Interactions between thecontrolling application and the motor controller board 123 are handledby the system interface 640.

The control module 620 continuously monitors the status of theinstrument port 112 and the instrument port 114 to determine if aninstrument is installed in either or both of the instrument ports 112and 114. When an instrument is detected in the instrument port 112, thecontrol module 620 notifies the graphical user interface module 610 andthe graphical user interface module 610 displays data and accessoriesassociated with the instrument in the section 503 of the control screen501. If the instrument is removed from the instrument port 112, thecontrol module 620 notifies the graphical user interface module 610,which in turn removes the data and accessories associated with theinstrument from the section 503 of the control screen 501. Similarly,when an instrument is detected as connected to the instrument port 114,the control module 620 notifies the graphical user interface module 610and the graphical user interface module 610 displays data andaccessories associated with the instrument in the section 505 of thecontrol screen 501. If the instrument is removed from the instrumentport 114, the control module 620 notifies the graphical user interfacemodule 610, and the data and accessories associated with the instrumentare removed from the section 505 of the control screen 501.

In certain implementations, one or more of the instruments connected tothe instrument ports 112, 114 include a motor drive unit (MDU). If a MDUis detected in either or both of the instrument ports 112 and 114, thecontrol module 620 first determines whether the MDU is capable of handcontrol. If the MDU is not capable of hand control, a footswitch can beused to control the MDU. If the MDU is capable of hand control, thecontrol module 620 monitors the status of the hand controls. The controlmodule 620 also determines whether the connected MDU supports bladerecognition, and if the MDU supports blade recognition, the controlmodule 620 continuously monitors the blade type. The control module 620notifies the graphical user interface module 610 that a MDU has beendetected and the graphical user interface module 610 module displays thedata and accessories associated with the MDU on the appropriate side ofthe control screen 501 (e.g., data and accessories associated with a MDUconnected to the instrument port 112 are displayed in the section 503and data and accessories associated with a MDU connected to theinstrument port 114 are displayed in the section 505).

If the control module 620 detects instruments in both ports 112, 114,the data associated with both instruments is displayed in the controlscreen 501 in sections 503 and 505. The instruments in the ports 112 and114 are operated independently, however, they can be operatedsimultaneously. Referring briefly to FIG. 7, if no instrument isdetected in the instrument port 112, the section 503 of the controlscreen 501 displays the graphic 701, which indicates to the user that noinstrument is connected to the port 112. Similarly, if the controlmodule 620 does not detect the presence of an instrument in the port114, the section 505 of the control screen 501 displays the graphic 702,which indicates to the user that no instrument is connected to the port114.

Returning to FIG. 5, the control screen 501 includes an icon region 510,which displays icons 511, 512, 513, and 514 representing items connectedto the console 110. The icons 511, 512, 513, and 514 are displayed uponnotification from the control module 620 of the connection of aninstrument, footswitch, or a connection to some other type of equipmentto the console 110. The icons 511, 512, 513, and 514 also can havevarious display styles, with each display style representing a state ofan instrument represented by the icon or the type of instrumentconnected. For example, the display style of icons 511, 512, 513, and514 can be a particular color, shading, size, shape, and/or animationthat represent a state or a type of instrument connected to the console110. The icons 511, 512, 513, and 514 can also be implemented asbitmaps.

In the example shown in FIG. 5, the icon 511 is displayed in the section503 and indicates that a fluid management system or pump 150 isconnected to the console 110. A display style of the icon 511 canprovide additional information about the pump 150. For example, if theconnected fluid management system is a pump, such as the pump 150, thecontrol module 620 notifies the graphical user interface module 610 ofthe state of the pump. If the pump 150 is running, the control screen501 displays and animates a rotating blue icon. Otherwise, the controlscreen displays a stationary grey icon. If the graphical user interfacemodule 610 receives an indication from the control module 620 that thepump 150 has been disconnected from the control module 110, the icon 511disappears from the control screen 501. The icon 511 also can changeformat depending on the state of the fluid management system. The icon511 representing the pump 150 can be in the section 503, whichcorresponds to “Port A,” or the section 505, which corresponds to “PortB,” depending on a mapping specified in a settings menu accessiblethrough the control screen 501. Thus, the pump 150 can be set to beintegrated with an instrument connected to either the instrument port112 or the instrument port 114. When the pump 150 is integrated with theinstrument connected to the instrument port 112, the pump 150 respondsto commands from the instrument and footswitch connected to theinstrument port 112. Similarly, if the pump 150 is integrated with theinstrument port 114, the pump 150 responds to commands from theinstrument and footswitch connected to the instrument port 114. In someimplementations, the Lavage button 424 works only when the footswitch410 and the pump 150 are connected to the same instrument port.

Additionally, upon notification of connection to a fluid managementsystem, such as pump 150, an outgoing serial-communication packet isautomatically updated by the control module 620 and/or the graphicaluser interface module 610. The outgoing serial-communication packet istransmitted to the connected pump 150 through the bi-directional port152 during the initial connection and when a change in data occurs. A“Lavage Toggle” command is also transmitted in the event that a Lavagebutton is pressed on a connected footswitch that supports thisfunctionality. The outgoing serial-communication packet typicallyincludes a number of bytes in a data structure.

Referring back to FIG. 5, upon notification from the control module 620of the insertion of an instrument, such as surgical device 300, motordrive unit (MDU) 325, or a powered instrument, such as a drill, saw,etc. into the instrument port 112 (e.g., “Port A”) of the console 110,the graphical user interface module 610 displays the icons 512, 514 inthe section 503, which correspond to the instrument ports 112, 114. Ifthe graphical user interface module 610 receives a disconnectnotification from the control module 620 indicating that the instrumenthas been disconnected from the instrument port 112, the icon 512 isremoved from the icon region 510 or otherwise no longer displayed.Similarly, upon notification from the control module 620 of theinsertion of a MDU into the instrument port 114 (“Port B”), thegraphical user interface module 610 displays a yellow MDU icon (notshown) in the section 505, which corresponds to the instrument port 114.If the graphical user interface module 610 receives a disconnectnotification from the control module 620, the MDU icon is removed.

Display of the icon 513 indicates that a footswitch has been connectedto the console 110. The icon 513 is removed from the screen when thegraphical user interface module 610 receives a disconnect notificationindicating that the footswitch is no longer connected to the console110. In the example shown in FIG. 5, the icon 513 is displayed in thesection 503, which corresponds to the instrument port 112 (Port A). If afootswitch is connected to the console 110, the icon 513 is displayed ineither the section 503 or the section 505 depending on a mappingselected in a settings menu.

Upon notification from the control module 620 of the insertion of aninstrument, such as a sagittal saw, in the instrument port 114, thegraphical user interface module 610 displays the icon 514 in the iconregion 505. When the graphical user interface module 610 receives adisconnect notification from the control module 620 indicating that thesaw has been disconnected from the instrument port 114, the icon 514 isremoved from the screen. Similarly, when the control module 620 notifiesthe graphical user interface module 610 that a saw has been insertedinto the instrument port 112, an icon (not shown) representing the sawis displayed in the section 503. The icon representing the presence ofthe saw in the instrument port 112 and the icon 514 representing thepresence of the saw in the instrument port 114 can have differentdisplay styles while still providing a visual representation that theicons correspond to the same instrument. For example, the iconrepresenting insertion in the instrument port 112 can be yellow and theicon 514 can be blue, but the icons can be the same shape and size.

Other types of icons can be displayed to indicate the presence ofparticular instruments, connections, or tools. For example, uponnotification from the control module 620 of a digital control systemconnection, such as Smith & Nephew Inc.'s a CONDOR™ control system, thegraphical user interface module 610 displays an icon (not shown) in theupper right hand corner of the control screen 501. If the graphical userinterface module 610 receives a disconnect notification, the icon isremoved from the control screen 501. Upon notification of a digitalcontrol system connection, an outgoing data packet is automaticallyupdated by the control module 620 and/or the graphical user interfacemodule 610 so that when a host requests a packet, the data is updated.When an incoming command from the host is found to be valid, the controlmodule 620 and/or the graphical user interface module 610 is notified ofthe request and initiates the requested command.

The control screen 501 also includes direction indicators 515 a and 515b, which indicate a direction or type of motion of the instrumentsconnected to the instrument ports 112 and 114, respectively. In theexample shown in FIG. 5, the direction indicators include both forwardand reverse arrows that point in opposite directions in the center,which indicate that the instruments connected to the instrument ports112 and 114 oscillate. The arrows in the direction indicators 515 a and515 b point to the right when the respective instrument is set toforward motion, and the arrows in the direction indicators 515 a and 515b point to the left when the respective instrument is set to reversemotion.

The control screen 501 also displays current speed settings 516 a and516 b for the instruments connected to the instrument ports 112 and 114,respectively. The current speed settings 516 a and 516 b show speed andan associated unit of measure 517 a and 517 b (for example, rotationsper minute as shown in FIG. 5). The current speed settings 516 a and 516b also include an outline box that can be color coded, and the color canindicate which of the instrument ports 112 and 114 is associated withthe current speed settings 516 a and 516 b.

The control screen 501 can include the maximum speed 518 for aninstrument connected to the instrument port 112. If an instrument isconnected to instrument port 114, the maximum speed for that instrumentwould be displayed on the section 505 of the control screen 501 in asimilar manner. The decrement/increment controls 519 a and 519 b allowsetting of the current speed of the current speed settings 516 a and 516b, respectively. The current speed values can be adjusted within a rangeof numeric values, and the values are adjusted by pressing thedecrement/increment controls 519 a and 519 b. The control module 620receives a notification from the graphical user interface module 610 ofa change in set speed, and the control module 620 changes the speed ofan instrument connected to the indicated instrument port. When the setspeed reaches the minimum or maximum speed for the instrument, thedecrement/increment controls 519 a and 519 b disappear. The adjustmentof the current set speed can occur automatically at a fixed repeat rateif the decrement/increment button 519 a or 519 b is held down for asecond or more, and the automatic adjustment ceases when the adjustmentbutton is released or when the current set speed reaches a minimum ormaximum for the instrument.

The graphical user interface module 610 displays the data andaccessories associated with the connected MDU on the appropriate side ofthe control screen 501. The data and accessories include the directionindicators 515 a and 515 b, the current speed settings 516 a and 516 b,the color-coded outline around the current speed settings 516 a and 516b, the unit of measure 517 a and 517 b, the maximum range 518, and thedecrement adjustment button and the increment adjustment button 519 aand 519 b. Default speed settings and maximum speed is particular to theconnected instrument and is determined by specifications of theconnected instrument, which can be stored in a table on the console 110and accessed by the control module 620 and/or the graphical userinterface module 610. For example, a MDU may have a range of forwardmotion speeds from 100 to 5000 rotations per minute, a default speed of3000 rotations per minute, the same range of speeds and the same defaultspeed for reverse motion, a speed range of 500 to 3000 rotations perminute in oscillate mode, and a default of 1000 rotations per minute inoscillate mode. If the MDU supports blade recognition, the defaultvalues and the ranges are determined taking into account the blade type.

When a MDU is detected, the current mode of operation is set tooscillate by default and the oscillate direction indicators aredisplayed in white on the appropriate direction indicator 515 a and 515b depending on which instrument port into which the MDU was connected.Pressing a forward hand control button on the MDU causes the controlmodule 620 to notify the graphical user interface module 610, and theforward direction indicators are displayed in the appropriate directionindicator 515 a or 515 b (e.g., all arrows point to the right in theappropriate direction indicator). Similarly, if a reverse hand controlbutton is pressed on the MDU, reverse direction indicators are displayedon the appropriate direction indicator 515 a or 515 b (e.g., thedirection indicator shows all arrows pointing to the left). If theforward hand control button on the MDU is held down for a second ormore, the speed of the MDU alternates between two speeds whiledisplaying the forward direction indicators in the appropriate directionindicator 515 a or 515 b. Releasing the forward button on the MDUresults in the current speed setting being the most recent set speedvalue. Similarly, holding the reverse hand control button for a secondor more results in the set speed alternating between two speeds whilethe reverse direction indicators are displayed in the appropriatedirection indicator 515 a or 515 b.

If an oscillate hand control button is pressed on the MDU, the directionindicator 515 a or 515 b corresponding to the instrument port in whichthe MDU is connected displays oscillate direction indicators (e.g.,left- and right-pointing arrows are shown with the arrowheads pointingin opposite directions in the center of the direction indicator).Additionally, if the oscillate hand control button on the MDU is pressedand held down for about a second or more, the control module 620 willnotify the graphical user interface module 610 and the directionindicator 515 a or 515 b shows the window-lock direction indicators(e.g., left- and right-pointing arrows are shown with arrowheads comingtogether in the center of the direction indicator.

Additionally, when a MDU is detected, the control screen 501 can displaythe maximum rotations per minute (RPM) or other unit of measure,depending upon the current MDU mode of operation, in the appropriateunit of measure display 517 a and 517 b. If the current mode ofoperation of the MDU is forward, reverse, or Oscillate Mode 1, the unitof measure is RPM and the maximum RPM for the MDU is displayed in 518.If the current mode of operation of the MDU is Oscillate Mode 2, theunit of measure is rate rather than RPM. Oscillate Mode 1 is avelocity-controlled method of ramping motor speed from zero to aspecified target speed and then ramping the motor speed from the targetspeed to zero again in a specified period of time. Oscillate Mode 2 is aposition-controlled method of ramping motor speed in which the motoraccelerates and decelerates to a specified position in a specifiedperiod of time and then reverses direction and returns to the startingposition. Oscillate Mode 1 is available for all MDUs, but neither modeis typically available for powered instruments such as drills and saws,which run unidirectionally.

If the control module 620 determines that the MDU is in a running state,the graphical user interface module 610 is notified by the controlmodule 620 and the control display 501 is updated to reflect the runningstate. For example, the color of the arrows in the direction indicators515 a and 515 b can be colored green and the background color of theappropriate current speed setting 516 a or 516 b can change. If the MDUis turned off, the background color of the appropriate current speedsetting 516 a or 516 b changes to reflect the new state of the MDU.

If a powered instrument is connected to the console 110, the controlmodule 620 monitors the status of the hand controls on the poweredinstrument to determine if the powered instrument supports directioncontrol. The powered instrument can be, for example drill 330 or saw 340(FIG. 3A). A drill may support forward and/or reverse operation, and asaw supports a mechanical oscillate mode of operation. The controlmodule 620 notifies the graphical user interface module 610 that apowered instrument has been detected in the connection port 112 and/or114, and the graphical user interface module 610 displays the data andaccessories associated with the powered instrument on the appropriateside of the control screen 510 (e.g., in section 503 or 505).

For powered instruments, sections 503 and 505 include directionindicators 515 a and 515 b, and the direction indicators 515 a and 515 bdisplay a percentage of full speed associated with the current setspeed, a color coded outline around the current set speed, and thedecrement/increment controls 519 a and 519 b. The percentage of fullspeed is adjusted by pressing the decrement/increment controls 519 a or519 b, and the decrement/increment controls 519 a and 519 b disappearwhen set speed reaches the maximum or minimum for the poweredinstrument. The default speed range is 10%-100% in ten-percentincrements, and the default setting is 50% of full speed for the drilland 100% of full speed for the saw. The percentage of full speed isadjusted automatically at a fixed percentage amount if either theincrement or decrement button is held down. The adjustments cease whenthe decrement/increment control 519 a or 519 b is released or when thepercentage of full speed has reached its minimum or maximum.

A trigger located on the powered instrument can be used to activate it.The amount of depression of the trigger determines the actual speed ofthe powered instrument, and the trigger can be used to vary the speed ofit. When the trigger is released, the powered instrument is stopped, andfully depressing the trigger results in the speed of the poweredinstrument being a percentage of full speed of the powered instrument asshown in a current set speed indicator 516 a or 516 b. If a footswitchis used, trigger operation of the powered instrument is suspended untilthe footswitch releases control, and trigger operation of the poweredinstrument blocks the footswitch until the trigger releases control.When a powered instrument is connected to the instrument port 112 or114, the controlling application ignores the Window Lock and Lavagefootswitch button functions. Adaptive trigger calibration captures themaximum and minimum analog values measured during use of the poweredinstrument and expands an active trigger ON region accordingly. Toprevent locking in an out-of-range value, if a powered instrument isconnected to the console 110 with the trigger depressed, the ON limit(TriggerMin) is reset with the OFF limit (TriggerMax) leaving an initialON region of 15 ADC counts. The ON region is allowed to re-expand duringnormal trigger operation. A small hysteresis band (e.g., 15 ADC counts),applied to the decision to recalibrate OFF limit (TriggerMax) and resetthe ON limit (TriggerMin), minimizes unnecessary recalibrations.

A deadband bounding the trigger ON region at both limits serves a dualpurpose. On the TriggerMax side, it accommodates the voltage changeincurred by lever trigger units from the sliding magnet trigger lockmechanism. Here, this band is required to allow the release of thetrigger lock, causing a corresponding drop in trigger voltage, withoutinadvertent motor actuation. On the TriggerMin side, it prevents motorvelocity changes at the maximum trigger position caused by mechanicalslop in the trigger assembly.

Additionally, if the console 110 detects a problem or failure, theconsole 110 displays a warning (not shown) on the control screen 501.For example, the warning can be a yellow box located near the bottom ofthe control screen 501. Touching the displayed warning opens a fulldescription of the error or failure that caused the warning. A button(such as an “OK” button) can be pressed to close the warning message andreturn to the control screen 501. When the console 110 encounters asystem fault, the console 110 stops operation of the attachedinstruments, sounds an alarm, clears the control screen 501, anddisplays a fault message.

The control display 501 also includes a change mode control or settingsbutton 522, selection of which allows a user to specify preferences foroscillation modes, footswitches, pump interface, language, etc. If a MDUis not active, connected to the connection port 112 or 114, supports twooscillation modes and was last active in oscillate mode or was justconnected, the change mode control 524 is displayed. Selection of thechange mode control 524 will toggle the MDU between oscillate modes asprovided in more detail below. The control display 501 also includes asettings control 522, selection of which produces a settings menuthrough which a user can configure various settings of the console 110once all of the instruments and other devices have been connected to theconsole 110. The settings control 522 is active whenever the MDUs andpowered instruments connected to the console 110 are not running.

Referring to FIG. 8, an interface 800 shown on the display 120 shows asettings screen 801 that allows users to specify preferences andparameters for the operation of peripherals connected to console 110.The settings screen 801 is displayed in response to a selection of thesettings control 522 (FIG. 5). The settings screen 801 includes anoscillate mode control 802, a footswitch control 804, a pump interfacecontrol 806, a systems information control 808, and a language control810. The settings screen 801 also includes a blade mode control 812,blade reset text 813, blade reset controls 814 and 816, and a completionor “Done” control 818.

The oscillate mode control 802 allows the user to program oscillate modesettings. The console 110 supports two oscillation modes and these twomodes may be referred to as Oscillate Mode 1 and Oscillate Mode 2.Oscillate Mode 1 is a velocity-controlled method of ramping motor speedfrom zero to a specified target speed and then ramping the motor speedfrom the target speed to zero again in a specified period of time.Oscillate Mode 2 is a position-controlled method of ramping motor speedin which the motor accelerates and decelerates to move a motor shaft tospecified positions in specified periods of time to enable reversal ofdirection to return to the starting position. Oscillation can be basedon a desired time period (Mode 1) or a set number of revolutions (Mode2). Oscillate Mode 1 is the default oscillation mode.

Referring to FIG. 9A, selection of the oscillate mode control 802 opensan oscillate mode screen 910, which allows adjustment to the oscillationprofile of the instrument connected to either the instrument port 112(“Port A”) or the instrument port 114 (“Port B”). The screen that opensdepends upon the last oscillate mode used for the instrument portselected. A control 912 allows the user to customize the oscillate modeactivated for the instrument connected to the instrument port 112 (e.g.,“Port A”), and a control 914 allows the user to customize the oscillatemode activated for the instrument connected to the instrument port 114(e.g., “Port B”). If the surgical instrument attached to the selectedport will operate in either Oscillate Mode 1 or Oscillate Mode 2,pressing Adjust opens either the Mode 1 or Mode 2 screen, depending onwhich was last used for that port. Selection of a done control 916returns the user to the previous screen, the settings screen 801.

Selection of the Port A control 912 or the Port B control 914 from theoscillate mode screen 910 launches oscillate mode onescreen 920 (FIG.9B) if Oscillate Mode 1 was last used for that port. As noted above,Oscillate Mode 1 is based on a time interval. A time adjustment control925 allows a user to set the number of seconds (e.g., the time interval)an instrument takes to make one forward or reverse period of oscillationas displayed in display 924. For example, the time may be adjusted inincrements of 0.1 seconds by selecting the time adjustment control 925.When the time has reached the minimum or maximum of the instrument'soscillation range, the time adjustment control 925 disappears. In theexample shown in FIG. 9B, the range of oscillation is 0.30 to 1.0seconds for an oscillation period. Selection of the default control 926restores the time to a default value. Selection of a cancel control 927returns the user to the oscillate mode screen 910, without changing thecurrent settings, and selection of a set control 928 notifies thecontrol module 620 to save the current settings and to use the newlyselected value before returning the user to oscillate mode screen 910.

Selection of the Port A control 921 or the Port B control 914 from theoscillate mode screen 910 launches Oscillate Mode 2 screen 930 (FIG. 9C)if Oscillate Mode 2 was last used for that port. As discussed above,Oscillate Mode 2 is based on a number of revolutions a blade completesbefore reversing directions. For example, the Oscillate Mode 2 can beset such that the blade completes 1 or 2 revolutions before reversingdirections. The Oscillate Mode 2 screen 930 includes an adjustmentcontrol 935 to set a number of revolutions to rotate in each directionbefore reversal during oscillation. The number of revolutions isadjusted in increments of 1 revolution by pressing the adjustmentcontrol 935 and is displayed in display 934. The range of the adjustmentis one to two revolutions. When the number of revolutions has reachedthe minimum or maximum of the range of possible revolutions for theinstrument, the adjustment control 935 disappears. The default number ofrevolutions is restored by selecting the control 936. Selection of acancel control 937 returns the user to the oscillate mode screen 910,without changing the current settings, and selection of a set control938 notifies the control module 620 to save the current settings and touse the newly selected value before returning the user to oscillate modescreen 910.

Referring to FIG. 10, an example process 1000 for moving a blade of aninstrument operating in Oscillate Mode 2 to a new position is shown.Blade Window Lock is used to set the stop position of the inner rotatingblade (e.g., inner member 305 of FIG. 3) relative to the opening 320 ofthe outer member 310, as described in U.S. Pat. No. 5,602,449, which isincorporated by reference herein in its entirety. Window Lock is used inthe position control methodology discussed herein to determine theinitial position of the position profile (P_(i)). A position of a motoroutput shaft is determined from the motor's three armature position HallEffect sensors and a gearhead ratio. Target motor shaft positions arecalculated from a position profile that is defined by an array ofcoordinates in the form: percentage of time elapsed, and position, withposition being defined in revolutions of output shaft. The period oftime (in seconds) to transact one complete move profile is stored in theconsole 110. The position profile can be stored in a data structure thatincludes the percentage time coordinate, the revolution distancecoordinate (which can specify distance as a number of revolutions), anda count variable that includes a number of point pairs defining theprofile. Profiles that repeat end in the position from which the profilebegan to prevent creep (unless that is the intent).

To move the blade of an instrument operating in Oscillate Mode 2, it isdetermined whether a target position has been reached (1002). The targetposition can be a position specified in a coordinate of the positionprofile. If the target position has been reached, parameters to move tothe next point in the profile are determined (1004). In particular, thetime in seconds to move from the current position (P_(k)) to the nextposition (P_(k+1)), the distance from the current position (P_(k)) tothe next position (P_(k+1)), and an acceleration to move from thecurrent position to the next position are determined. Again, the currentposition (P_(k)) can be any arbitrary position within the move positionprofile. If the target position has not been reached, an incrementaltarget distance between the current position and the next position isdetermined (1006). The current velocity is saved, a new velocity iscalculated for the next point from acceleration and time, and a newtarget position is calculated from velocity and time. Table 1 shows anexample position profile.

TABLE 1 Point % time distance (number of revolutions) P_(i) 0 0 P_(i+1)5 1 P_(i+2) 10 2 P_(i+)3 50 2 P_(i+4) 55 1 P_(i+5) 60 0 P_(i+6) 100 0

In the example shown in Table 1, P_(i) is the initial position, and eachpoint corresponds, in this example, to the window open position. For acomplete move profile of 0.50 seconds, the first and second forwardrevolutions each occur in 0.025 seconds (5% time for each revolution),followed by a hold period with the window open of 0.2 seconds (40%time), followed by two reverse revolutions each in 0.025 seconds (5%time for each revolution), followed by a hold period with the windowopen of 0.2 seconds (40% time). The cycle is then repeated. The holdperiods act to reduce clogging of the blade and enhance resection byevacuating material out of the blade and then pulling more material intothe blade to be cut in the next cycle.

The number of revolutions prior to direction reversal can be other thantwo revolutions, for example, one or three revolutions. The hold periodcan be other than 40% of the time for the complete move profile, forexample, in the range of 10% to 40%. The optimum hold period is afunction of the suction rate and the length of the blade. Furthermore,different profiles can be employed for different tissue types and/or fordifferent blades. Table 2 shows an example of a simple triangularoscillate profile (Mode 2). In the example shown in Table 2, point ofdirection reversal occurs at P_(i+2), since the distance (number ofrevolutions) begins to decrease beyond that point.

TABLE 2 Point % time distance (number of revolutions) P_(i) 0 0 P_(i+1)25 1 P_(i+2) 50 2 P_(i+3) 75 1 P_(i+4) 100 0

Position control provides for high speed, complex blade motions.Referring to FIGS. 11A-11E, examples of various shaft position (S) vs.percentage of time (T) profiles are shown. Each of the profiles haveunique and beneficial cutting attributes when matched with differenttissue types and blade styles. The initial position for rotary orreciprocating blades can be set using window lock. The attributes listedbelow are non-limiting examples for a window lock position of open. FIG.11A shows an oscillation profile with two forward and two reverserotations per cycle and a 0.1 second period. Such a profile providesincreased soft tissue resection rates. FIG. 11B shows a profile that issimilar to the profile of FIG. 11A with the addition of amini-oscillation cycle at the window open position at the end of theforward portion of the cycle. Profiles such as the profile shown in FIG.11B are suited for biting off harder fibrous tissues such as an ACLstump. FIG. 11C shows a profile that corresponds to the hold profilediscussed above. A profile such as the profile of FIG. 11C is suitablefor reducing soft tissue clogging in toothless style blades. FIG. 11Dshows a profile that is particularly adapted for a reciprocating styleblade. The profile shown in FIG. 11D has an initial slow distal motionand speeds up near the distal—most portion of the stroke to cut tissue.The profile of FIG. 11D is suitable for cutting, for example, themeniscus. FIG. 11E shows a profile that illustrates the aperiodic motioncapability of the position control methodology. Although notillustrated, profiles containing negative positions are fully supported.

Referring to FIG. 12A, the target shaft position and actual shaftposition become the inputs to a discrete timeproportional-integral-derivative controller (PID) velocity controlalgorithm that controls the electrical power necessary to keep the motorshaft position on target and cause the motor to move at a particularvelocity. Gain variables are used to scale values included in controlblocks, and the values included in control blocks are summed and pipedthrough filters to produce an output to the motor. Setting appropriatecoefficients to zero allows the same variable structure and PID functionto be used for both position and velocity control, as well as fordifferent types of motors. A velocity command 1205 can include a targetvelocity set by a user of the console 110. The target velocity can beset in the user interface discussed above.

The velocity profiler 1210 determines increments and decrements ofvelocity of the motor over discrete time periods, and a target velocity1215 is a velocity determined to move the motor to a target position ata particular velocity. An acceleration PWM module 1220 adds inertialcompensation to the velocity. In particular, the acceleration PWM moduleadds a boost to accelerate a high-inertial load. A feed forward module1225 is an open-loop estimate of how fast the motor would run without aload. The feed forward module 1225 applies voltage to the motor andtranslates voltage applied to the motor to the speed of the motor. ThePWM controller 1230 acts as a torque limit and limits torque on themotor to a predefined threshold. A load compensation module 1235indicates load on the motor in current and compensates for the load onthe motor. The output module 1240 includes the resistance in the motor,torque and voltage constants, inertia of the motor, and inductance ofthe motor. The output module 1240 also indicates measurable parametersof the motor, including the velocity, current in the motor, and positionof the motor. The actual velocity of the motor and the target velocityof the motor are input into a PID filter block 1250, and P, I, and Dcoefficients are determined in the filter block 1250.

Referring to FIG. 12B, a PID position control algorithm works similarlyto the PID velocity control algorithm discussed with respect to FIG.12A. In the position control algorithm, the coefficients of the feedforward module 1225 are set to zero. Instead of receiving a velocitycommand, an array of positions 1260 is provided to a position profiler1265. The array of positions are positions in a position profile of theinstrument (such as the profiles shown in FIGS. 11A-11E). A targetposition 1270 is compared to an actual position at the PID filter block1250.

In addition to rotating blades, the position control methodology canalso be applied to an axial, reciprocating blade. Here again, themovement of the blade can be controlled such that there is a hold periodwhen the reciprocating blade is in its distal position with the windowopen. The position control methodology can also be used to slow down orstop a rotating blade in a predetermined window position when the bladeis running in forward or reverse mode.

The position control methodology provides system precision andflexibility. Rather than using knowledge of shaft position to signal(trigger) a control algorithm when to stop or reverse (a velocitycontrol algorithm), knowledge of shaft position is the input to theposition control algorithm. Therefore, the stop position or point ofshaft reversal is known in advance by the control algorithm as itcomputes the acceleration needed to move between the points of theposition profile. The velocity control algorithm regulates the speed inwhich the shaft rotates asynchronously to its position. In a velocitycontrol algorithm, the independent variables (inputs to, and controlledby, the control algorithm) are time, acceleration, and velocity, withthe dependent variable (consequence of the control algorithm) beingposition. In the position control algorithm, the independent variables(inputs to, and controlled by, the control algorithm) are time andposition, with the dependent variables (consequences of controlalgorithm) being velocity and acceleration.

Referring again to FIG. 8, the footswitch control 804 allows the user toconfigure the footswitch. Selecting the footswitch control 804 buttonfrom the settings screen will launch the footswitch screen 1301 shown inFIG. 13. The footswitch screen 1301 permits the user to configure theway the footswitch works. The graphical user interface module 610 isnotified by the control module 620 of a selection of a port control1304, a hand control override 1306, or a footswitch mode control 1308.Selection of a cancel control 1310 returns to the settings screen 801without changing the current setting. Selection of the set control 1312notifies the control module 620 to save the current settings and to usethe newly selected settings before returning to the setting screen 801.The footswitch screen 1301 includes the port control 1304, whichprovides controls for assigning the footswitch to either instrument port112 (e.g., Port A) or instrument port 114 (e.g., Port B). The currentlyselected port is indicated by shading in the example shown in FIG. 13.The footswitch drives the instrument connected to the selected port.

The footswitch screen 1301 also includes a hand control override 1306,which allows a hand control override feature of an instrument to beenabled or disabled. The hand control override 1306 allows the user toset the primary controls for controlling the motor of a connected MDU,and the current override setting is shown by shading. When the handcontrol override control 1306 is set to On, only the footswitch operatesthe instrument, and hand controls for that instrument do not operate.When the hand control override control 1306 is set to Off, either thehand controls or the footswitch can be used to operate the instrument.However, only one source of control can be used at one time (e.g., at aparticular time, either the footswitch or the hand controls can operatethe instrument).

The footswitch screen 1301 also includes the footswitch mode control1308, which allows the user to change the forward and reverse pedalassignments on the footswitch. However, if the console 110 detects thatthe footswitch does not support re-mapping of the forward and reversepedals, the user is not allowed to change the forward and reverse pedalassignments. For footswitches that support re-mapping of the forward andreverse pedals, selection of the “L” button will map the forward mode ofoperation to the left foot pedal of the footswitch. Selection of the “R”button will map the forward mode of operation to the right foot pedal ofthe footswitch.

The footswitch screen 1301 also includes a mode selection control 1309.The mode selection control 1309 allows the user to select to use thefootswitch in an On/Off mode (which can be the digital footswitch modediscussed above) or a variable mode (which can be the analog footswitchmode discussed above). Briefly, in On/Off mode, depressing a footswitchpedal causes a instrument connected to the console 110 and controlled bythe footswitch to operate at full set speed, and releasing thefootswitch pedal turns the instrument off. Pressing a pedal of afootswitch that is operating in Variable mode causes the instrumentspeed to be adjusted based on pedal pressure. If the console 110 detectsa footswitch that does not support variable mode operation, such as aLow Profile (On/Off) or Pedal-Style footswitch, the mode selectioncontrol 1309 does not appear on the footswitch screen 1301, and thefootswitch operates in the On/Off mode. In the example shown in FIG. 13,the footswitch supports variable mode operation, thus the mode selectioncontrol 1309 is displayed, and the mode selection control 1309 can beused to select to operate the footswitch in either the On/Off orVariable mode. In the example shown, the user has selected to operatethe footswitch in variable mode, and a button corresponding to thevariable footswitch mode is shaded to indicate that variable mode is theactive footswitch mode.

The footswitch screen 1301 also includes a cancel control 1310 and a setcontrol 1312. Selection of the cancel control 1310 returns the user tothe settings screen 801 without changing the current setting. Selectionof the set control 1312 saves the current footswitch settings andreturns the user to the settings screen 801.

Referring again to FIG. 8, selection of the pump interface control 806causes a pump interface screen 1401 (FIG. 14) to appear. The pump orfluid management system operates from the MDU connected to the port towhich the pump is assigned. For example, and referring to FIG. 14, forthe pump to work with a MDU connected to the instrument port 112 (“PortA”), “Port A” is selected in a port control box 1403. The selected portis shaded to indicate selection of the port. In the example shown, PortA is selected, thus the pump works with an instrument connected toinstrument port 112. Selection of the “Port B” button in the portcontrol box 1403 results in the pump being assigned to work with theinstrument connected to the instrument port 114 (“Port B”) of theconsole 110. The pump interface screen 1401 also includes a cancelcontrol 1405, selection of which returns the user to the settings screen801 without changing the current settings. The set control 1407 savesthe current settings shown in the pump interface screen 1401 and returnsthe user to the settings screen 801.

Selection of the system information control 808 of FIG. 8 causes adisplay of general information associated with the console 110, such asthe product name, product reference number, software versions,application versions, and motor controller version. The language control810 allows the user to specify the language in which commands andinformation are displayed. For example, selection of the languagecontrol 810 allows the user to select from among various languages suchas English, German, French, and Italian.

The blade mode control 812 allows the user to select between using theconsole 110 in Blade Recall Mode or Blade Default Mode. When in BladeRecall Mode, the console 110 can be programmed with custom settings forblade forward speed, reverse speed, oscillate speed (oscillate mode 1)and oscillate rate (oscillate mode 2). If any settings are changed inBlade Recall Mode, the settings are saved until the settings are resetin Blade Recall Mode or the system is restored to default settings. Whenoperating in Blade Default Mode, changes to blade settings are saveduntil the console 110 is powered down or the system is reset to BladeRecall Mode. The blade reset text 813 and blade reset controls 814 and816 are displayed in the settings screen 801 when a instrument is in theinstrument port 112 or the instrument port 114, respectively. Selectionof the done control 818 returns the user to the control screen 501.

A number of implementations of the console 110 and surgical system 100have been described. Nevertheless, it will be understood that variousmodifications may be made without departing from the spirit and scope ofthe application. For example, while the console 110 has been describedwith respect to control of surgical instruments, the console 110 couldbe used with handheld instruments in non-surgical settings, and theconsole 110 and associated control systems could be used with varioustypes of instruments, both medical and otherwise. In addition, theconsole 110 can have just one instrument connected to the console 110,and the one instrument can be connected to either port 112 or port 114.The console 110 can also be referred to as a control unit or a maincontrol unit.

1. A system for treating tissue, comprising: a device comprising: afirst member, and a second member arranged to move relative to the firstmember to treat tissue; and a processor configured to automaticallycontrol movement of the second member relative to the first member usingposition control methodology.
 2. The system of claim 1 wherein theprocessor controls movement of the second member relative to the firstmember such that there is a hold period at least at some occurrences ofthe aperture being in fluid communication with the tissue environment.3. The system of claim 1 wherein the processor computes acceleration anddeceleration needed to move the second member between points of aposition profile.
 4. The system of claim 3 wherein each point of theposition profile corresponds to a position where the aperture of thedevice is in fluid communication with the tissue environment.
 5. Thesystem of claim 1 wherein the second member rotates relative to thefirst member.
 6. The system of claim 1 wherein the second memberreciprocates axially relative to the first member.
 7. The system ofclaim 1 wherein the position control methodology uses a stop position ofthe second member to compute acceleration or deceleration needed to movebetween points of a position profile.
 8. The system of claim 1 whereinthe position control methodology uses a point of shaft reversal of thesecond member to compute acceleration or deceleration needed to movebetween points of a position profile.
 9. The system of claim 1 whereinthe first and second members cooperatively define an aperture in thedevice which depending upon the position of the second member relativeto the first member is in fluid communication or is out of fluidcommunication with a tissue environment.
 10. A method of treatingtissue, comprising: providing a device having a first member and asecond member arranged to move relative to the first member; moving thesecond member relative to the first member; and automaticallycontrolling the movement of the second member using position controlmethodology.
 11. The method of claim 10 wherein moving the second memberrelative to the first member alternately places an aspiration opening ofthe device into fluid communication with or out of fluid communicationwith a tissue environment.
 12. The method of claim 11 wherein the secondmember is automatically controlled such that there is a hold period atleast at some occurrences of the aspiration opening being in fluidcommunication with the tissue environment.
 13. The method of claim 10wherein automatically controlling the movement of the second memberincludes computing acceleration and deceleration needed to move thesecond member between points of a position profile.
 14. The method ofclaim 13 wherein each point of the position profile corresponds to aposition where the aspiration opening of the device is in fluidcommunication with the tissue environment.
 15. The method of claim 10wherein moving the second member relative to the first member comprisesrotating the second member relative to the first member.
 16. The methodof claim 10 wherein automatically controlling the movement of the secondmember includes accelerating and decelerating the second member to causea number of rotations of the second member relative to the first member,and then reversing the direction of rotation of the second member. 17.The method of claim 12 wherein the second member is automaticallycontrolled such that the second member is slowed down or stopped whenthe aspiration opening is in fluid communication with the tissueenvironment.
 18. The method of claim 10 wherein moving the second memberrelative to the first member comprises reciprocating the second memberaxially relative to the first member.
 19. The method of claim 10 whereinautomatically controlling the movement of the second member usingposition control methodology includes using a stop position or point ofshaft reversal of the second member to compute acceleration ordeceleration needed to move between points of a position profile.
 20. Apowered surgical system, comprising: a main control unit including adisplay, a footswitch connection port, and an instrument port foroperation of a surgical instrument; a power supply housed within themain control unit; and a processor housed within the main control unitand enabling multiple, user-selectable oscillation profiles including: avelocity controlled mode in which motor speed of a surgical instrumentis ramped from zero to a target speed, then back to zero, in a period oftime, at which time the direction is reversed, and a position controlledmode in which the motor speed accelerates and decelerates to cause anumber of revolutions of the surgical instrument, at which position thedirection is reversed.
 21. The system of claim 20 wherein the motorspeed accelerates and decelerates to cause two revolutions of thesurgical instrument, at which position the direction is reversed. 22.The system of claim 20 wherein the main control unit includes twoinstrument ports and two footswitch connection ports for simultaneousoperation of two instruments.
 23. The system of claim 22 wherein thesystem further comprises two instruments connected to the two instrumentports and two footswitches connected to the footswitch connection ports,the two instruments and the footswitches configurable to communicateconfiguration, sensory and control data to the main control unit viawired or wireless links.
 24. The system of claim 20 further comprising auser interface configured to receive user-selectable data forcontrolling operation of the surgical instrument and to displayoperational parameters associated with the surgical instrument.
 25. Thesystem of claim 23 wherein the wired link comprises a bi-directionalRS-485 connection.
 26. The system of claim 23 wherein the wireless linkcomprises a Bluetooth connection.
 27. The system of claim 20 furthercomprising an electro-surgical power generator for providing power toone or more surgical handpieces connectable to the generator.
 28. Asurgical assembly, comprising: a control unit; intelligent peripheralscapable of communicating configuration, sensory, and control data to thecontrol unit via wired or wireless links; and a processor housed withinthe control unit, the processor configured to enable multiple,user-selectable oscillation profiles including: a position controlledmode in which the processor calculates the acceleration or decelerationto move between points of a position profile.
 29. The surgical assemblyof claim 28 wherein an intelligent peripheral comprises a motor driveunit configured to communicate position profile data optimized for thegeometry of a surgical blade attached thereto.
 30. The surgical assemblyof claim 28 wherein the control unit comprises two instrument ports andtwo footswitch connection ports for simultaneous operation of twosurgical instruments.
 31. A method for controlling movement of a motorshaft based on an algorithm that includes a position profile definingmultiple positions of the motor shaft over a period of time, the methodcomprising: providing a device having a first member and a secondmember, the second member coupled to the motor shaft and arranged tomove relative to the first member; and moving the motor shaft, which, inturn, moves the second member relative to the first member, between themultiple positions of the position profile within the period of time.32. The method of claim 31 further comprising determining theacceleration or deceleration to move the motor shaft between thepositions of the position profile.
 33. The method of claim 31 whereinwhen the second member is moved to each of the multiple positions of theposition profile, an aspiration opening cooperatively defined by thefirst and second members is in fluid communication with a tissueenvironment.
 34. The method of claim 31 wherein moving the motor shaftcomprises controlling electrical power to the motor shaft based on atarget shaft position and an actual shaft position.
 35. The method ofclaim 34 wherein controlling electrical power comprises inputting thetarget shaft position and the actual shaft position to aproportional-integral-derivative (PID) controller.
 36. The method ofclaim 31 wherein there is a hold period at least at some of thepositions of the position profile.
 37. A surgical system, comprising: aconsole; a universal drive housed within the console and configured forone or more phase motor control; and a processor housed within theconsole and enabling multiple, user-selectable oscillation profilesincluding: a velocity controlled mode in which motor speed of a deviceis ramped from zero to a target speed, then back to zero, in a period oftime, at which time the direction in reversed, and a position controlledmode in which the motor speed accelerates and decelerates to cause anumber of revolutions of the device, at which position the direction isreversed.